package com.ajun.common;

/**
 * 队列常量
 *
 * @author LiJun
 * @date 2021-07-14
 */
public interface QueueConstants {

    /**
     * Simple 模式
     */
    String SIMPLE_QUEUE = "simpleQueue";

    /**
     * fanout 模式
     */
    String FANOUT_EXCHANGE = "fanout.exchange";
    String FANOUT_QUEUE1 = "queue1";
    String FANOUT_QUEUE2 = "queue2";
    String FANOUT_QUEUE3 = "queue3";

    /**
     * direct routing 模式
     */
    String DIRECT_EXCHANGE = "direct.exchange";
    String DIRECT_QUEUE1 = "queue1";
    String DIRECT_QUEUE2 = "queue2";
    String DIRECT_QUEUE3 = "queue3";
    String DIRECT_QUEUE1_KEY = "phone";
    String DIRECT_QUEUE2_KEY = "email";
    String DIRECT_QUEUE3_KEY = "wechat";

    /**
     * topic 模式
     */
    String TOPIC_EXCHANGE = "topic.exchange";
    String TOPIC_QUEUE1 = "queue1";
    String TOPIC_QUEUE2 = "queue2";
    String TOPIC_QUEUE3 = "queue3";
    String TOPIC_QUEUE1_KEY = "com.#";
    String TOPIC_QUEUE2_KEY = "*.ajun.*";
    String TOPIC_QUEUE3_KEY = "#.user.#";

    /**
     * Work Queue 工作队列(轮询模式)
     */
    String WORK_ROUND_QUEUE = "work.round.queue";

    /**
     * Work Queue 工作队列(公平竞争模式(能者多劳))
     */
    String WORK_FAIR_QUEUE = "work.fair.queue";
}
